/* -*-jde-*- */
/* <IntegerArray.java> */
package Practica4.sort;

/**
 * Interfaz que provee métodos para generar diversos tipos de arreglos.
 *
 * @author	Peralta Santa Anna Victor Miguel
 * @since	Enero 2012
 */
public interface IntegerArray {

    /**
     * Da un arreglo de la forma 1-zig-zag.
     *
     * @param n el numero de elementos en el arreglo.
     * @param start el primer elemento con que debe comenzar el arreglo.
     * @return el arreglo de la forma 1-zig-zag.
     */
    public int[] zigZag(int n, int start);

    /**
     * Da un arreglo de número aleatorios
     * en el intervalo [<i>low</i>,<i>high</i>].
     *
     * @param n numero de elementos en el arreglo
     * @param low valor minimo para los elementos del arreglo.
     * @param high valor maximo para los elementos del arreglo.
     * @return El arreglo de número aleatorios en el intervalo [<i>low</i>,<i>high</i>].
     */
    public int[] random(int n, int low, int high);

    /**
     * Invierte el orden del arreglo recibido <i>a</i>.
     * @param a el arreglo para invertir.
     */
    public void inverse(int[] a);

    /**
     * Regresa la cadena que representa al objeto el cual implementa ésta interfaz.
     */
    @Override
    public String toString();
}
